跳到主要内容

2.3 创建第一个工程

2.3.1 新建工程

1、启动Quartus软件:

双击Quartus系列软件图标,界面如下(以Quartus II 15.0为例)。

alt text

2、创建工程:

点击File→New Project Wizard选项 或 点击Home页面中的New Project Wizard图标。

alt text

3、工程目录、名称填写:(注意:工程目录中不能有汉语、空格等字符)

  • 工程目录:选择新建工程的目录

  • 工程名称:填写工程名称

  • 顶层模块名称:设计文件中top module的模块名称,软件默认跟工程名称相同

alt text

4、工程类型:

选择Empty project,点击Next。

alt text

5、添加文件:如果已有设计文件,在当前页面选择并添加,点击Next。

alt text

6、器件选择:

根据开发平台使用的FPGA选择对应器件例如10M02SCM153I7G(注意:这里需要根据实物板卡上面的芯片标识选择对应的芯片型号),点击Next。

alt text

7、EDA工具选择:

选择第三方EDA工具:如果有需要可以选择第三方的综合或仿真工具(第三方工具需要另外安装并设置启动路径),这里我们选择使用ModelSim Altera工具仿真,点击Next。

alt text

8、工程设置确认:

确认工程相应的设置,如需调整点击Back返回修改,若确认设置,点击Finish。

alt text

9、工程创建完毕,Quartus软件自动进入开发界面,如下:

alt text

2.3.2 添加设计文件

1、选择File→New 或 点击工具栏中的New按钮,选择Verilog HDL File文件类型,点击OK,Quartus软件会新建并打开Verilog文件。

alt text

2、在新建的Verilog文件中进行Verilog HDL代码编写、保存,文件名为LED_shining.v,如下图所示,程序源码如下。

alt text

程序源码:

module LED_shining
(
input clk_in, //clk_in = 12mhz
input rst_n_in, //rst_n_in, active low
output led1, //led1 output
output led2 //led2 output
);

parameter CLK_DIV_PERIOD = 12_000_000;

reg clk_div=0;

//wire led1,led2;
assign led1 = clk_div;
assign led2 = ~clk_div;

//clk_div = clk_in/CLK_DIV_PERIOD
reg[24:0] cnt=0;
always@(posedge clk_in or negedge rst_n_in) begin
if(!rst_n_in) begin
cnt<=0;
clk_div<=0;
end else begin
if(cnt==(CLK_DIV_PERIOD-1)) cnt <= 0;
else cnt <= cnt + 1'b1;
if(cnt<(CLK_DIV_PERIOD>>1)) clk_div <= 0;
else clk_div <= 1'b1;
end
end

endmodule

3、选择菜单栏中Processing→Start→Start Analysis & Synthesis选项 或 工具栏中Start Analysis & Synthesis按钮,如下图所示。

alt text

4、Quartus软件会完成分析综合,若设计没有问题,综合Tasks栏中Analysis & Synthesis会变成绿色,同时左侧出现绿色对勾。可以选择Tools→Netlist Viewers→RTL Viewer查看电路。

alt text

5、RTL电路图如下

alt text

2.3.3 管脚约束

1、选择Assignments→Device打开器件配置页面,然后点击页面中的Device and Pin Options…选项打开器件和管脚选项页面。

alt text

2、在Unused Pins选项中配置Reserve all unused pins为 As input tri-stated状态。

alt text

3、在Voltage选项中配置Default I/O standard为 3.3-V LVTTL状态。然后OK回到设计界面。

alt text

4、选择菜单栏中Assignments→Pin planner选项 或 工具栏中Pin planner图标,进入管脚分配界面。

alt text

5、在Pin Planner页面中将所有端口分配对应的FPGA管脚,如下图,然后关闭(自动保存)。

alt text

6、选择菜单栏中Processing→Start Compilation选项 或 工具栏中Start Compilation按钮,开始所有编译,等待Tasks列表中所有选项完成,如下图。

alt text

2.3.4 FPGA加载

1、使用micro-usb线将STEP-MAX10开发平台连接至电脑USB接口,选择菜单栏中Tools→Programmer选项 或 工具栏中Programmer按钮,进入烧录界面。

alt text

2、烧录界面如下,确认硬件驱动为USB-Blaster[USB-0],默认情况下打开Programmer,子东装载的是后缀.sof流文件。Sof文件是直接配置SRAM的流文件,下载到器件后掉电不能保存。

alt text

3、选择Add File添加工程输出文件中pof格式文件,pof文件是对MAX10芯片的flash进行配置的,掉电不丢失。勾选Program列和Verify列,点击Start按钮进行FPGA加载。

alt text

4、FPGA加载完成,界面中Progress状态显示100%(Successful)。观察开发板现象。

alt text